%!
%%BoundingBox: (atend)
%%Pages: (atend)
%%DocumentFonts: (atend)
%%EndComments
%
% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0
% Copyright (c) 1986,87,89 by Frame Technology, Inc.  All rights reserved.
%
% Known Problems:
%	Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1
/FMversion (2.0) def 
% Set up Color vs. Black-and-White
	/FMPrintInColor systemdict /colorimage known def
% Uncomment this line to force b&w on color printer
%   /FMPrintInColor false def
/FrameDict 190 dict def 
systemdict /errordict known not {/errordict 10 dict def
		errordict /rangecheck {stop} put} if
% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	/yscale FMLOCAL
	/xscale FMLOCAL
	/manualfeed FMLOCAL
	/paperheight FMLOCAL
	/paperwidth FMLOCAL
/FMDOCUMENT { 
	array /FMfonts exch def 
	/#copies exch def
	FrameDict begin
	0 ne dup {setmanualfeed} if
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	setpapername
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE { 
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne def
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{pop pop}
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
/FMDEFINEFONT { 
	FrameDict begin
	findfont 
	ReEncode 
	2 index exch 
	definefont exch 
	scalefont 
	FMfonts 3 1 roll 
	put
	end 
	} bind def
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 0 0 sethsbcolor
	0 setgray 
	} bind def
	/fx FMLOCAL
	/fy FMLOCAL
	/fh FMLOCAL
	/fw FMLOCAL
	/llx FMLOCAL
	/lly FMLOCAL
	/urx FMLOCAL
	/ury FMLOCAL
/FMBEGINEPSF { 
	end 
	/FMEPSF save def 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/setmanualfeed {
%%BeginFeature *ManualFeed True
	 statusdict /manualfeed true put
%%EndFeature
	} def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
	/papersizedict FMLOCAL
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray} def
		/Ledger {ledgertray} def
		/Legal {legaltray} def
		/Statement {statementtray} def
		/Executive {executivetray} def
		/A3 {a3tray} def
		/A4 {a4tray} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray} def
		/B5 {b5tray} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	/FMdicttop countdictstack 1 add def
	statusdict begin stopped end 
	countdictstack -1 FMdicttop {pop end} for
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode { 
	dup 
	length 
	dict begin 
	{
	1 index /FID ne 
		{def} 
		{pop pop} ifelse 
	} forall
	Encoding StandardEncoding eq 
	{
		/Encoding DiacriticEncoding def
	}if
	currentdict 
	end 
	} bind def
/graymode true def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div FMsetgray
	/graymode false def
	} bind def
/grayness {
	FMsetgray
	graymode not {
		/graymode true def
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
	/HUE FMLOCAL
	/SAT FMLOCAL
	/BRIGHT FMLOCAL
	/Colors FMLOCAL
FMPrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment / yellow
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR} def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc} def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray}
			{HUE SAT BRIGHT sethsbcolor} 
		  ifelse
		} def
	/FMsetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray}
			{HUE SAT BRIGHT sethsbcolor} 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY} def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc} def
	/FMsetgray {setgray} bind def
	/K { 
		pop
		} def
	}
ifelse
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z {
	setlinecap
	} bind def
/X { 
	fillprocs exch get exec
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
/U { 
	grestore
	gsave
	} bind def
/F { 
	FMfonts exch get
	setfont
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne {-1 1 scale} if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/dx FMLOCAL
	/dy FMLOCAL
	/dl FMLOCAL
	/t FMLOCAL
	/t2 FMLOCAL
	/Cos FMLOCAL
	/Sin FMLOCAL
	/r FMLOCAL
/W { 
	dnormalize
	/dy exch def
	/dx exch def
	normalize
	/y  exch def
	/x  exch def
	/dl dx dx mul dy dy mul add sqrt def
	dl 0.0 gt {
		/t currentlinewidth def
		savematrix
		/Cos dx dl div def
		/Sin dy dl div def
		/r [Cos Sin Sin neg Cos 0.0 0.0] def
		/t2 t 2.5 mul 3.5 max def
		newpath
		x y translate
		r concat
		0.0 0.0 moveto
		dl t 2.7 mul sub 0.0 rlineto
		stroke
		restorematrix
		x dx add y dy add translate
		r concat
		t 0.67 mul setlinewidth
		t 1.61 mul neg  0.0 translate
		0.0 0.0 moveto
		t2 1.7 mul neg  t2 2.0 div     moveto
		0.0 0.0 lineto
		t2 1.7 mul neg  t2 2.0 div neg lineto
		stroke
		t setlinewidth
		restorematrix
		} if
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes { 
	dup 
	8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{cf is readhexstring pop} image
	bitmapsave restore 
	grestore
	} bind def
	/proc1 FMLOCAL
	/proc2 FMLOCAL
	/newproc FMLOCAL
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
	/gryt FMLOCAL
	/blut FMLOCAL
	/grnt FMLOCAL
	/redt FMLOCAL
	/indx FMLOCAL
	/cynu FMLOCAL
	/magu FMLOCAL
	/yelu FMLOCAL
	/k FMLOCAL
	/u FMLOCAL
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
	/tran FMLOCAL
/fakecolorsetup {
	/tran 256 string def
	0 1 255 {/indx exch def 
		tran indx
		red indx get 77 mul
		green indx get 151 mul
		blue indx get 28 mul
		add add 256 idiv put} for
	currenttransfer
	{255 mul cvi tran exch get 255.0 div}
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{cf is readhexstring pop} {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
%%EndProlog
%%BeginSetup
(2.0) FMVERSION
1 1 612 792 0 1 3 FMDOCUMENT
/fillprocs 32 array def
fillprocs 0 { 0.000000 grayness } put
fillprocs 1 { 0.100000 grayness } put
fillprocs 2 { 0.300000 grayness } put
fillprocs 3 { 0.500000 grayness } put
fillprocs 4 { 0.700000 grayness } put
fillprocs 5 { 0.900000 grayness } put
fillprocs 6 { 0.970000 grayness } put
fillprocs 7 { 1.000000 grayness } put
fillprocs 8 {<0f87c3e1f0783c1e> 8 1 setpattern } put
fillprocs 9 {<0f1e3c78f0e1c387> 8 1 setpattern } put
fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put
fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put
fillprocs 12 {<8142241818244281> 8 1 setpattern } put
fillprocs 13 {<8040201008040201> 8 1 setpattern } put
fillprocs 14 {<03060c183060c081> 8 1 setpattern } put
fillprocs 15 {} put
fillprocs 16 { 1.000000 grayness } put
fillprocs 17 { 0.900000 grayness } put
fillprocs 18 { 0.700000 grayness } put
fillprocs 19 { 0.500000 grayness } put
fillprocs 20 { 0.300000 grayness } put
fillprocs 21 { 0.100000 grayness } put
fillprocs 22 { 0.030000 grayness } put
fillprocs 23 { 0.000000 grayness } put
fillprocs 24 {<f0783c1e0f87c3e1> 8 1 setpattern } put
fillprocs 25 {<f0e1c3870f1e3c78> 8 1 setpattern } put
fillprocs 26 {<3333333333333333> 8 1 setpattern } put
fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put
fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put
fillprocs 29 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put
fillprocs 30 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put
fillprocs 31 {} put
%%EndSetup
0 14 /Times-Bold FMDEFINEFONT
1 12 /Times-Italic FMDEFINEFONT
2 12 /Times-Roman FMDEFINEFONT
%%Page: "1" 1
%%BeginPaperSize: Letter
%%EndPaperSize
612 792 0 FMBEGINPAGE
72 720 540 756 R
7 X
0 K
V
149.96 743.95 216.81 745.28 R
0 X
V
0 F
(WINTERP) 149.96 746.67 T
( \321 The OSF/Motif ) 216.81 746.67 T
332.64 743.95 346.63 745.28 R
V
(W) 332.64 746.67 T
(idget ) 346.63 746.67 T
379.67 743.95 432.53 745.28 R
V
(INTERP) 379.67 746.67 T
(reter) 432.53 746.67 T
(Niels Mayer, Hewlett-Packard Labs, Palo Alto.) 165.71 730.67 T
54 36 298.8 720 R
7 X
V
1 F
0 X
0.17 (Winterp) 54 712 P
2 F
0.17 ( \050pronounced Win-Terp\051 is a ) 92.64 712 P
233.69 710.11 245.01 710.69 R
V
0.17 (W) 233.69 712 P
0.17 (idget ) 245.01 712 P
272.16 710.11 294.81 710.69 R
V
0.17 (Inter-) 272.16 712 P
54 696.11 60 696.69 R
V
3.66 (p) 54 698 P
3.66 (reter, an application development environment) 60 698 P
0.66 (enabling rapid prototyping of graphical user-inter-) 54 684 P
1.2 (faces \050GUI\051 through the interactive programmatic) 54 670 P
3.05 (manipulation of user interface objects and their) 54 656 P
0.62 (attached actions. ) 54 642 P
1 F
0.62 (Winterp) 138.16 642 P
2 F
0.62 ( is also an excellent plat-) 176.81 642 P
4.39 (form for delivering extensible or customizable) 54 628 P
0.49 (applications. By embedding a small, efficient Lisp) 54 614 P
0.72 (interpreter with UI primitives within the delivered) 54 600 P
0.33 (application, users and system integrators can tailor) 54 586 P
1 (the static and dynamic layout of the UI, UI/appli-) 54 572 P
(cation dialogue, and application functionality. ) 54 558 T
1 F
-0.29 (Winterp) 54 539 P
2 F
-0.29 ( is a good tool for learning and experiment-) 92.64 539 P
0.45 (ing with the capabilities of the ) 54 525 P
1 F
0.45 (OSF/Motif) 205.28 525 P
2 F
0.45 ( UI tool-) 256.59 525 P
3.66 (kit, allowing UI designers to more easily play) 54 511 P
3.33 (\322what if\323 games with different interface styles.) 54 497 P
1 F
1.07 (Winterp) 54 483 P
2 F
1.07 (\325s implementation provides a compromise) 92.64 483 P
1.99 (between the prototyping and extensibility advan-) 54 469 P
2.22 (tages of Lisp environments, and the inefficiency) 54 455 P
-0.28 (and expenses of delivering Unix applications under) 54 441 P
2.92 (environments such as Common Lisp. Typically,) 54 427 P
0.38 (prototyping and customization are done entirely in) 54 413 P
3.66 (interpreted Lisp; for delivery, efficiency-critical) 54 399 P
1.48 (low-level code may be written in C and is easily) 54 385 P
(exported to the interpreter as a new primitive.) 54 371 T
-0.19 (The interpreter, based on David Betz\325s ) 54 352 P
1 F
-0.19 (XLISP) 241.7 352 P
2 F
-0.19 (, pro-) 273.01 352 P
1.54 (vides a truly object oriented interface to the X11) 54 338 P
2.71 (toolkit Intrinsics \050) 54 324 P
1 F
2.71 (Xt\051) 145.38 324 P
2 F
2.71 ( and the ) 160.03 324 P
1 F
2.71 (OSF/Motif) 209.14 324 P
2 F
2.71 ( widget) 260.44 324 P
0.33 (set. ) 54 310 P
1 F
0.33 (Winterp) 73.65 310 P
2 F
0.33 (\325s use of a real programming language) 112.29 310 P
7.09 (for customization/prototyping allows ) 54 296 P
1 F
7.09 (Winterp) 256.16 296 P
2 F
7.09 (-) 294.81 296 P
1.33 (based applications to be much more flexible than) 54 282 P
4.91 (applications using lower-level and less-general) 54 268 P
2.66 (languages provided by the X resource database,) 54 254 P
7.32 (Brunecky&Smythe\325s Widget Creation Library) 54 240 P
-0.27 (\050) 54 226 P
1 F
-0.27 (WCL) 57.99 226 P
2 F
-0.27 (\051, ) 82.65 226 P
1 F
-0.27 (OSF/Motif) 92.38 226 P
2 F
-0.27 (\325s ) 143.68 226 P
1 F
-0.27 (UIL) 155.07 226 P
2 F
-0.27 ( \050user interface language\051,) 174.39 226 P
(and Ousterhout\325s ) 54 212 T
1 F
(TCL/Tk) 139.27 212 T
2 F
(.) 175.94 212 T
-0.28 (To enable GUI-applications based on existing ) 54 193 P
1 F
-0.28 (Unix) 275.48 193 P
2 F
1.39 (facilities, ) 54 179 P
1 F
1.39 (Winterp) 102.69 179 P
2 F
1.39 ( provides primitives for collect-) 141.34 179 P
2.9 (ing data from ) 54 165 P
1 F
2.9 (Unix) 130.32 165 P
2 F
2.9 ( processes, and facilities for) 153.64 165 P
-0 (interacting with other ) 54 151 P
1 F
-0 (Unix) 160.26 151 P
2 F
-0 ( processes. These facili-) 183.57 151 P
0.2 (ties make it possible to glue together existing ) 54 137 P
1 F
0.2 (Unix) 275.48 137 P
2 F
1.42 (functionality into a GUI based application with a) 54 123 P
(relatively small amount of ) 54 109 T
1 F
(Winterp) 183.25 109 T
2 F
(-Lisp.) 221.9 109 T
-0.17 (An environment similar to ) 54 90 P
1 F
-0.17 (Winterp) 183.23 90 P
2 F
-0.17 (\325s already exists) 221.87 90 P
3.99 (in the ) 54 76 P
1 F
3.99 (Gnu-Emacs) 91.97 76 P
2 F
3.99 ( text editor \321 ) 148.59 76 P
1 F
3.99 (Winterp) 234.52 76 P
2 F
3.99 ( was) 273.16 76 P
5.24 (strongly influenced by ) 54 62 P
1 F
5.24 (Gnu-Emacs) 180.65 62 P
2 F
5.24 (\325 successful) 237.27 62 P
2.05 (design. In ) 54 48 P
1 F
2.05 (Gnu-Emacs) 108.4 48 P
2 F
2.05 (, a mini-Lisp interpreter is) 165.02 48 P
313.2 36 558 720 R
7 X
V
0 X
1.61 (used to extend the editor to provide text-browser) 313.2 712 P
1.71 (style interfaces to a number of ) 313.2 698 P
1 F
1.71 (Unix) 472.01 698 P
2 F
1.71 ( applications) 495.33 698 P
-0.28 (\050e.g. e-mail user agents, directory browsers, debug-) 313.2 684 P
1.89 (gers, etc.\051. Whereas ) 313.2 670 P
1 F
1.89 (Emacs-) 416.78 670 P
2 F
1.89 (Lisp enables the cre-) 452.74 670 P
3.42 (ation of new applications by tying together C-) 313.2 656 P
3.24 (implemented primitives operating on text-buffer) 313.2 642 P
2.06 (UI objects, ) 313.2 628 P
1 F
2.06 (Winterp) 372.94 628 P
2 F
2.06 (-Lisp ties together operations) 411.58 628 P
0.76 (on graphical UI objects implemented by the ) 313.2 614 P
1 F
0.76 (Motif) 532.01 614 P
2 F
1.09 (widgets. Both achieve a high degree of customiz-) 313.2 600 P
0.18 (ability that is common for systems implemented in) 313.2 586 P
2.04 (Lisp, while still attaining the speed of execution) 313.2 572 P
4.83 (and \050relatively\051 small size associated with C-) 313.2 558 P
(implemented applications.) 313.2 544 T
313.2 523.27 351.84 523.85 R
V
1 F
(Winterp) 313.2 525 T
351.84 523.1 396.13 523.69 R
V
2 F
( features:) 351.84 525 T
-0.24 (\245 Free with non-restrictive copyright. \321 available) 320.4 506 P
(via anonymous ) 327.6 492 T
1 F
(ftp) 403.55 492 T
2 F
( from ) 416.22 492 T
1 F
(export.lcs.mit.edu) 445.53 492 T
2 F
(.) 531.14 492 T
0.81 (\245 Portable \321 entirely implemented via machine-) 320.4 478 P
1.51 (independent C source and ) 327.6 464 P
1 F
1.51 (X11/Xt/Motif) 460.88 464 P
2 F
1.51 ( librar-) 523.52 464 P
(ies.) 327.6 450 T
1.48 (\245 ) 320.4 436 P
1 F
1.48 (XLISP) 329.08 436 P
2 F
1.48 ( provides a simple ) 360.39 436 P
1 F
1.48 (Smalltalk) 456.92 436 P
2 F
1.48 (-like object) 502.23 436 P
(system.) 327.6 422 T
1.98 (\245 ) 320.4 408 P
1 F
1.98 (OSF/Motif) 329.58 408 P
2 F
1.98 ( widgets are real ) 380.89 408 P
1 F
1.98 (XLISP) 470.75 408 P
2 F
1.98 ( objects \321) 502.07 408 P
4.78 (widgets can be specialized via subclassing,) 327.6 394 P
(methods added or altered, etc.) 327.6 380 T
3.05 (\245 Automatic storage management \050via garbage) 320.4 366 P
(collection\051 of ) 327.6 352 T
1 F
(Motif/Xt/X) 394.88 352 T
2 F
( data.) 445.53 352 T
0.7 (\245 Contains facilities for simple \322direct manipula-) 320.4 338 P
(tion\323 of UI components.) 327.6 324 T
0.27 (\245 Interface to ) 320.4 310 P
1 F
0.27 (Gnu Emacs) 386.36 310 P
2 F
0.27 (\325 lisp-mode allows code) 442.26 310 P
1.08 (to be developed and tested without leaving the) 327.6 296 P
(editor.) 327.6 282 T
2.11 (\245 Built-in RPC mechanism for inter-application) 320.4 268 P
3.18 (communications, implemented via serverized,) 327.6 254 P
(event-driven Lisp interpreter.) 327.6 240 T
313.2 219.1 482.76 219.69 R
V
(Features in upcoming version 1.14:) 313.2 221 T
-0.24 (\245 Primitives interfacing to ) 320.4 202 P
1 F
-0.24 (XPM ) 446.23 202 P
2 F
-0.24 (library, providing) 473.63 202 P
3.36 (a portable means of using color pixmaps in) 327.6 188 P
1 F
(Motif) 327.6 174 T
2 F
(. \050user-contributed extension\051.) 353.59 174 T
2.18 (\245 High-level interface to ) 320.4 160 P
1 F
2.18 (Xlib) 447.87 160 P
2 F
2.18 ( drawing and text) 467.87 160 P
4.53 (routines available as methods on ) 327.6 146 P
1 F
4.53 (the Motif) 509.82 146 P
2 F
(drawing area widget. \050user-contributed\051.) 327.6 132 T
0.74 (\245 Facility to allow multiple interactive ) 320.4 118 P
1 F
0.74 (Unix) 510.29 118 P
2 F
0.74 ( sub-) 533.6 118 P
1.89 (processes to run without causing UI to block.) 327.6 104 P
0.32 (\050Similar to ) 327.6 90 P
1 F
0.32 (Gnu-Emacs\325) 382.87 90 P
2 F
0.32 ( ability to run a subpro-) 443.49 90 P
(cess via ) 327.6 76 T
1 F
(process-filter/process-sentinel) 368.23 76 T
2 F
(\051.) 513.47 76 T
1.37 (\245  Interface to Don Libes\325 ) 320.4 62 P
1 F
1.37 (expect) 454.03 62 P
2 F
1.37 ( library further) 484.66 62 P
(extends ) 327.6 48 T
1 F
(Unix) 367.24 48 T
2 F
( subprocess capabilities.) 390.55 48 T
FMENDPAGE
%%EndPage: "1" 2
%%Trailer
%%BoundingBox: 0 0 612 792
%%Pages: 1 1
%%DocumentFonts: Times-Bold
%%+ Times-Italic
%%+ Times-Roman
